package ar.com.indra.dao.impl;

import org.springframework.jdbc.core.support.JdbcDaoSupport;

import ar.com.indra.beans.UsuarioDTO;
import ar.com.indra.commons.delegate.IDelegate;
import ar.com.indra.dao.UsuarioDAO;
import ar.com.indra.mappers.UsuarioMapper;

public class UsuarioDaoImpl extends JdbcDaoSupport implements UsuarioDAO { //extends JdbcDaoSupport

	private IDelegate baseDelegate;


	public IDelegate getBaseDelegate() {
		return baseDelegate;
	}

	public void setBaseDelegate(IDelegate baseDelegate) {
		this.baseDelegate = baseDelegate;
	}

	@Override
	public int insertUsuario(UsuarioDTO u) {
		// falta implementar
		return 0;
	}

	@Override
	public int updateUsuario(UsuarioDTO u) {
		// falta implementar
		return 0;
	}

	@Override
	public UsuarioDTO selectUsuario(int id) {

		String sql = "Select * from sesc_usuarios where id_usuario = ?";

		//UsuarioDTO usuario = (UsuarioDTO) getJdbcTemplate().queryForObject(sql,
		//		new Object[] { id }, new UsuarioMapper());

		// TODO Auto-generated method stub
		//return usuario;
		return null;
	}
	

	@Override
	public UsuarioDTO getUsuarioById(Integer idUser) throws Exception {
		System.out.println("UsuarioDaoImpl.getUsuarioById(): INICIO");
		System.out.println("idUser: " + idUser);
		
		String sql = "Select * from sesc_usuarios where id_usuario = ?";

		UsuarioDTO usuario = (UsuarioDTO) getJdbcTemplate().queryForObject(sql,
				new Object[] { idUser }, new UsuarioMapper());

		if (usuario == null){
			System.out.println("-> NO SE RECUPERO EL USUARIO.");
		} else {
			System.out.println("-> Usuario recuperado: " + usuario.getApellido() + ", " + usuario.getNombre() + " - " + usuario.getDni());
		}
		
		System.out.println("UsuarioDaoImpl.getUsuarioById(): FIN");
		
		return usuario;
	}

}
